//package com.example.rotateimageview;
//
//import android.annotation.SuppressLint;
//import android.app.Activity;
//import android.app.ActivityManager;
//import android.content.ContentResolver;
//import android.content.ContentUris;
//import android.content.Context;
//import android.content.Intent;
//import android.content.pm.PackageInfo;
//import android.content.pm.PackageManager;
//import android.content.res.AssetManager;
//import android.content.res.ColorStateList;
//import android.database.Cursor;
//import android.graphics.Bitmap;
//import android.graphics.Canvas;
//import android.graphics.Color;
//import android.graphics.ColorMatrix;
//import android.graphics.ColorMatrixColorFilter;
//import android.graphics.Matrix;
//import android.graphics.Paint;
//import android.graphics.PixelFormat;
//import android.graphics.PorterDuff;
//import android.graphics.PorterDuffXfermode;
//import android.graphics.Rect;
//import android.graphics.RectF;
//import android.graphics.drawable.ColorDrawable;
//import android.graphics.drawable.Drawable;
//import android.media.MediaPlayer;
//import android.net.ConnectivityManager;
//import android.net.NetworkInfo;
//import android.net.Uri;
//import android.os.Build;
//import android.os.Environment;
//import android.os.Handler;
//import android.os.StatFs;
//import android.provider.DocumentsContract;
//import android.provider.MediaStore;
//import android.text.Editable;
//import android.text.Html;
//import android.text.Spanned;
//import android.text.TextUtils;
//import android.text.TextWatcher;
//import android.util.Log;
//import android.view.Gravity;
//import android.view.LayoutInflater;
//import android.view.MotionEvent;
//import android.view.View;
//import android.view.View.MeasureSpec;
//import android.view.ViewGroup;
//import android.view.Window;
//import android.view.WindowManager;
//import android.view.animation.Animation;
//import android.view.animation.AnimationUtils;
//import android.view.inputmethod.InputMethodManager;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.ListAdapter;
//import android.widget.ListView;
//import android.widget.PopupWindow;
//import android.widget.RelativeLayout;
//import android.widget.Toast;
//
//import androidx.annotation.NonNull;
//
//import org.json.JSONObject;
//
//import java.io.BufferedOutputStream;
//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.nio.charset.StandardCharsets;
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Calendar;
//import java.util.Collections;
//import java.util.Date;
//import java.util.Iterator;
//import java.util.List;
//import java.util.Locale;
//import java.util.Map;
//import java.util.Random;
//import java.util.TreeSet;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
//public class MyUtils {
//    private static int lastX;
//    private static int lastY;
//
//    public static Context getContext() {
//        return MyApplication.instance;
//    }
//
//    /**
//     * 获取drawable
//     */
//    public static Drawable getDrawable(int resId) {
//        return getContext().getResources().getDrawable(resId);
//    }
//
//    /**
//     * 获取颜色选择器
//     */
//    public static ColorStateList getColorStateList(int resId) {
//        return getContext().getResources().getColorStateList(resId);
//    }
//
//    /**
//     * 获取文字
//     */
//    public static String getString(int resId) {
//        return getContext().getResources().getString(resId);
//    }
//
//    /**
//     * 获取文字数组
//     */
//    public static String[] getStringArray(int resId) {
//        return getContext().getResources().getStringArray(resId);
//    }
//
//    //获取屏幕高度
//    public static final int getHeightInPx(Context context) {
//        final int height = context.getResources().getDisplayMetrics().heightPixels;
//        return height;
//    }
//
//    //获取屏幕宽度
//    public static final int getWidthInPx(Context context) {
//        final int width = context.getResources().getDisplayMetrics().widthPixels;
//        return width;
//    }
//
//    public static final int getHeightInDp(Context context) {
//        final float height = context.getResources().getDisplayMetrics().heightPixels;
//        int heightInDp = px2dip(height);
//        return heightInDp;
//    }
//
//    public static final int getWidthInDp(Context context) {
//        final float width = context.getResources().getDisplayMetrics().widthPixels;
//        int widthInDp = px2dip(width);
//        return widthInDp;
//    }
//
//    /**
//     * 获得状态栏的高度
//     *
//     * @param context
//     * @return
//     */
//    public static int getStatusHeight(Context context) {
//        int statusHeight = -1;
//        try {
//            Class<?> clazz = Class.forName("com.android.internal.R$dimen");
//            Object object = clazz.newInstance();
//            int height = Integer.parseInt(clazz.getField("status_bar_height")
//                    .get(object).toString());
//            statusHeight = context.getResources().getDimensionPixelSize(height);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return statusHeight;
//    }
//
//    /**
//     * 初始化layout
//     *
//     * @param resId
//     * @return
//     */
//    public static View inflate(int resId) {
//        return LayoutInflater.from(getContext()).inflate(resId, null);
//    }
//
//    /**
//     * 展示popwindow
//     *
//     * @param popWindow
//     * @param activity  要展示的activity
//     * @param v
//     * @param model     模式：false默认是从底部弹出，true表示从中间弹出
//     */
//    public static void showPopWindow(PopupWindow popWindow, final Activity activity,
//                                     View v, boolean model) {
//        //获取焦点
//        popWindow.setFocusable(true);
//        //side旁边;点击旁边让气泡消失
//        popWindow.setOutsideTouchable(true);
//        //设置小气泡背景是透明色---》注意：在设置setOutsideTouchable(true)属性是必须设置自身背景。
//        popWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
//
//        // 设置窗体背景颜色变暗
//        MyUtils.setBackgroundAlpha(activity, 0.5f);
//        popWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
//            @Override
//            public void onDismiss() {
//                MyUtils.setBackgroundAlpha(activity, 1f);
//            }
//        });
//        //防止popupWindow被虚拟软键盘和底部导航栏遮住
//        popWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
//        popWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
//        if (!model) {
//            //设置动画
//            popWindow.setAnimationStyle(R.style.AnimBottom);
//            popWindow.showAtLocation(v, Gravity.BOTTOM, 0, 0);
//        } else {
//            popWindow.setAnimationStyle(R.style.AnimCenter);
//            popWindow.showAtLocation(v, Gravity.CENTER, 0, 0);
//        }
//    }
//
//    /**
//     * 设置页面窗体的透明度（兼容华为手机，华为手机需要添加flag标记）
//     *
//     * @param bgAlpha 0-1之间，0表示完全不透明
//     */
//    public static void setBackgroundAlpha(Activity activity, float bgAlpha) {
//        WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
//        lp.alpha = bgAlpha;
//        if (bgAlpha == 1) {
//            //不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug
//            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
//        } else {
//            //此行代码主要是解决在华为手机上半透明效果无效的bug
//            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
//        }
//        activity.getWindow().setAttributes(lp);
//    }
//
//    /**
//     * 测量内容的高度
//     *
//     * @return
//     */
//    public static int measuredHeight(View view) {
//        int width = view.getMeasuredWidth();
//        //高度为包裹类型
//        view.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT - view.getPaddingTop()
//                - view.getPaddingBottom();
//        //合成宽度--MeasureSpec.EXACTLY:当属性为match_parent或者具体值时使用该模式
//        int width_makeMeasureSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY);
//        //如果是包裹类型：第一个参数可以不固定尽量写大点
//        int height_makeMeasureSpec = MeasureSpec.makeMeasureSpec(99999, MeasureSpec.AT_MOST);
//        //测量当前内容高度
//        view.measure(width_makeMeasureSpec, height_makeMeasureSpec);
//        //返回测量后的高度
//        return view.getMeasuredHeight() + view.getPaddingTop() + view.getPaddingBottom();
//    }
//
//    /**
//     * 主动计算和设置ListView的高度,解决嵌套在ScrollView的ListVew数据显示不全问题
//     *
//     * @param listView
//     */
//    public static void setListViewHeightBasedOnChildren(ListView listView) {
//        ListAdapter listAdapter = listView.getAdapter();
//        if (listAdapter == null) {
//            return;
//        }
//        int totalHeight = 0;
//        for (int i = 0; i < listAdapter.getCount(); i++) {
//            View listItem = listAdapter.getView(i, null, listView);
//            listItem.measure(0, 0);
//            totalHeight += listItem.getMeasuredHeight();
//        }
//        ViewGroup.LayoutParams params = listView.getLayoutParams();
//        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
//        listView.setLayoutParams(params);
//    }
//
//    /**
//     * 限制只能输入两位小数
//     *
//     * @param editText
//     */
//    public static void setTwoPoint(final EditText editText) {
//        editText.addTextChangedListener(new TextWatcher() {
//            @Override
//            public void onTextChanged(CharSequence s, int start, int before, int count) {
//                if (s.toString().contains(".")) {
//                    if (s.length() - 1 - s.toString().indexOf(".") > 2) {
//                        s = s.toString().subSequence(0, s.toString().indexOf(".") + 3);
//                        editText.setText(s);
//                        editText.setSelection(s.length());
//                    }
//                }
//                if (s.toString().trim().equals(".")) {
//                    s = "0" + s;
//                    editText.setText(s);
//                    editText.setSelection(2);
//                }
//                if (s.toString().startsWith("0") && s.toString().trim().length() > 1) {
//                    if (!s.toString().substring(1, 2).equals(".")) {
//                        editText.setText(s.subSequence(0, 1));
//                        editText.setSelection(1);
//                        return;
//                    }
//                }
//            }
//
//            @Override
//            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//            }
//
//            @Override
//            public void afterTextChanged(Editable s) {
//            }
//        });
//    }
//
//    public static boolean isContainChinese(String str) {
//        if (str == null) {
//            return false;
//        }
//        Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
//        Matcher m = p.matcher(str);
//        return m.find();
//    }
//
//    /**
//     * 验证身份证格式
//     */
//    public static boolean isIDCard(String idCard) {
//        /*
//		 * 1、15位或18位，如果是15位，必需全是数字。
//         * 2、如果是18位，最后一位可以是数字或字母Xx，其余必需是数字。
//		 */
//        String telRegex = "^(\\d{6})(18|19|20)?(\\d{2})([01]\\d)([0123]\\d)(\\d{3})(\\d|X|x)?$";//只能匹配18位
//        String telRegex2 = "(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)";
//        if (TextUtils.isEmpty(idCard))
//            return false;
//        else
//            return idCard.matches(telRegex2);
//    }
//
//    // 密码验证，必须为6-15字母加数字
//    public static boolean isPwd(String string) {
//        String num = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,15}$";
//        if (TextUtils.isEmpty(string))
//            return false;
//        else
//            return string.matches(num);
//    }
//
//    /**
//     * 界面跳转
//     *
//     * @param context
//     * @param clazz
//     */
//    public static void startActivity(Context context, Class<?> clazz) {
//        Intent intent = new Intent(context, clazz);
//        //当从广播和服务中跳转到Activity时需要添加一个标记
//        //添加一个标记--->广播和服务运行在任务栈内，必须添加这个标记，否则会报异常
//        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//        context.startActivity(intent);
//    }
//
//    /**
//     * 展示一个安全的土司
//     *
//     * @param activity
//     * @param msg
//     */
//    public static void showSafeToast(final Activity activity, final String msg) {
//        if (Thread.currentThread().getName().equals("main")) {
//            Toast.makeText(activity, msg, Toast.LENGTH_SHORT).show();
//        } else {
//            //在子线程中运行在主线程上的程序
//            activity.runOnUiThread(new Runnable() {
//                @Override
//                public void run() {
//                    Toast.makeText(activity, msg, Toast.LENGTH_SHORT).show();
//                }
//            });
//        }
//    }
//
//    public static void showToast(Context context, final String msg) {
//        ToastWiget.makeText(msg);
//    }
//
//    /**
//     * 判断网络是否可用
//     *
//     * @param context
//     * @return
//     */
//    public static boolean isNetworkAvailable(Context context) {
//        ConnectivityManager cm = (ConnectivityManager) context
//                .getSystemService(Context.CONNECTIVITY_SERVICE);
//        if (cm != null) {
//            //如果仅仅是用来判断网络连接
//            //则可以使用 cm.getActiveNetworkInfo().isAvailable();
//            NetworkInfo[] info = cm.getAllNetworkInfo();
//            if (info != null) {
//                for (int i = 0; i < info.length; i++) {
//                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {
//                        return true;
//                    }
//                }
//            }
//        }
//        return false;
//    }
//
//    /**
//     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
//     */
//    public static int dip2px(Context context, float dpValue) {
//        final float scale = context.getResources().getDisplayMetrics().density;
//        return (int) (dpValue * scale + 0.5f);
//    }
//
//    /**
//     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
//     */
//    public static int dip2px(float dpValue) {
//        final float scale = getContext().getResources().getDisplayMetrics().density;
//        return (int) (dpValue * scale + 0.5f);
//    }
//
//    /**
//     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
//     */
//    public static int px2dip(float pxValue) {
//        final float scale = getContext().getResources().getDisplayMetrics().density;
//        return (int) (pxValue / scale + 0.5f);
//    }
//
//    /**
//     * 根据手机的分辨率从 sp(像素) 的单位 转成为 px
//     */
//    public static int sp2px(Context mContext,float dpValue){
//        final float scale = mContext.getResources().getDisplayMetrics().scaledDensity;
//        return (int) (dpValue * scale + 0.5f);
//    }
//
//    /**
//     * 获取4个数中的最大值
//     */
//    public static boolean getListMax(RippleViewLayout[] mSits, int i) {
//        if (mSits != null && mSits.length == 8) {
//            if (mSits[i].getMicPhoneUser() == null){
//                return false;
//            }
//            int sex = mSits[i].getMicPhoneUser().getSex();//性别
//            List<Integer> charmTempList = new ArrayList<>();
//            for (int index = 0; index < mSits.length; index++){
//                if (mSits[index].getMicPhoneUser() != null && mSits[index].getMicPhoneUser().getSex() == sex) {//有人且同性
//                    int charmNum = (int)mSits[index].getChatRoomMicPhoneDomain().getPhaseCharmNum();
//                    charmTempList.add(charmNum);
//                }else {
//                    charmTempList.add(0);
//                }
//            }
//            int max = Collections.max(charmTempList);
//            return charmTempList.indexOf(max) == i;
//        }
//        return false;
//    }
////    /**
////     * 获取4个数中的最大值
////     */
////    public static boolean getListMax(RippleViewLayout[] mSits, int i) {
////        if(mSits != null && mSits.length == 8){
////            //魅力值
////            int charmNum0 = (int)(mSits[0].getChatRoomMicPhoneDomain()==null ? 0:mSits[0].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            int charmNum1 = (int)(mSits[1].getChatRoomMicPhoneDomain()==null ? 0:mSits[1].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            int charmNum2 = (int)(mSits[2].getChatRoomMicPhoneDomain()==null ? 0:mSits[2].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            int charmNum3 = (int)(mSits[3].getChatRoomMicPhoneDomain()==null ? 0:mSits[3].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            int charmNum4 = (int)(mSits[4].getChatRoomMicPhoneDomain()==null ? 0:mSits[4].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            int charmNum5 = (int)(mSits[5].getChatRoomMicPhoneDomain()==null ? 0:mSits[5].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            int charmNum6 = (int)(mSits[6].getChatRoomMicPhoneDomain()==null ? 0:mSits[6].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            int charmNum7 = (int)(mSits[7].getChatRoomMicPhoneDomain()==null ? 0:mSits[7].getChatRoomMicPhoneDomain().getPhaseCharmNum());
////            if(i==2 ||i==3 ||i==6 ||i==7){
////                List<Integer> nums= new ArrayList<>();
////                nums.add(0);
////                nums.add(0);
////                nums.add(charmNum2);
////                nums.add(charmNum3);
////                nums.add(0);
////                nums.add(0);
////                nums.add(charmNum6);
////                nums.add(charmNum7);
////                int max = Collections.max(nums);
////                //获取集合中的最大值Max
////                return nums.indexOf(max) == i;
////            }else {
////                List<Integer> nums= new ArrayList<>();
////                nums.add(charmNum0);
////                nums.add(charmNum1);
////                nums.add(0);
////                nums.add(0);
////                nums.add(charmNum4);
////                nums.add(charmNum5);
////                nums.add(0);
////                nums.add(0);
////                int max = Collections.max(nums);
////                //获取集合中的最大值Max
////                return nums.indexOf(max) == i;
////            }
////        }
////        return false;
////    }
//
//    /**
//     * 获取PK模式胜利队伍排序后的数据列表
//     * @param users
//     * @param team 哪支队伍胜利  1 A队 2 B队
//     * @return
//     */
//    public static List<ChatRoomMicPhoneDomain> getPKModeWinTeamData(List<ChatRoomMicPhoneDomain> users, int team) {
//        List<ChatRoomMicPhoneDomain> data = new ArrayList<>();
//        if (null != users && 0 < users.size()) {
//            for (ChatRoomMicPhoneDomain domain : users) {
//                int sit = domain.getMicrophoneId();
//                if (1 == sit || 2 == sit || 5 == sit || 6 == sit) {
//                    //A队
//                    if (1 == team && 0 < domain.getSsId()) {
//                        //是A队加入统计
//                        data.add(domain);
//                    }
//                } else if (3 == sit || 4 == sit || 7 == sit || 8 == sit) {
//                    //B队
//                    if (2 == team && 0 < domain.getSsId()) {
//                        //是B队加入统计
//                        data.add(domain);
//                    }
//                }
//            }
//        }
//        if (null != data && 1 < data.size()) {
//            for (int i = 0; i < data.size(); i++) {
//                ChatRoomMicPhoneDomain temp;
//                int maxIndex = i;
//                for (int j = i + 1; j < data.size(); j++) {
//                    ChatRoomMicPhoneDomain iDomain = data.get(i);
//                    ChatRoomMicPhoneDomain jDomain = data.get(j);
//                    if (null != iDomain && null != jDomain) {
//                        if (jDomain.getFightNum() > iDomain.getFightNum()) {
//                            maxIndex = j;
//                        }
//                    }
//                }
//                if (maxIndex != i) {
//                    temp = data.get(maxIndex);
//                    data.set(maxIndex, data.get(i));
//                    data.set(i, temp);
//                }
//            }
//        }
//        return data;
//    }
//
//    /**
//     * String位数不够前面补零
//     * @param str
//     * @param strLength 需要的位数
//     * @return
//     */
//    public static String addZeroForNum(String str,int strLength) {
//        if(str == null){
//            return "";
//        }
//        boolean nagetice = false;
//        if(str.contains("-")){
//            nagetice = true;
//            str = str.replace("-", "");
//        }
//        int strLen = str.length();
//        if (strLen < strLength) {
//            while (strLen < strLength) {
//                StringBuffer sb = new StringBuffer();
//                sb.append("0").append(str);//左补0
////                sb.append(str).append("0");//右补0
//                str= sb.toString();
//                strLen= str.length();
//            }
//        }
//        return nagetice ? "-" + str : str;
//    }
//
//    /**
//     * 在指定数字内，随机生成指定个数不重复的数字，用英文逗号隔开
//     * @param totalNum
//     * @param count
//     * @return
//     */
//    public static String randomArrayNum(int totalNum, int count) {
//        if(totalNum <= 0 || count <= 0){
//            return "";
//        }
//        List<Integer> list = new ArrayList<>();
//        for(int i=0; i < totalNum; i++){
//            list.add(i+1);
//        }
//        Random random = new Random();
//        TreeSet<Integer> ts = new TreeSet<Integer>();
//        while (ts.size() < count) {
//            int i = random.nextInt(totalNum);
//            if (i < list.size()) {
//                ts.add(list.get(i));
//            }
//        }
//        StringBuilder sb = new StringBuilder();
//        Iterator<Integer> iterator = ts.iterator();
//        while (iterator.hasNext()) {
//            sb.append(iterator.next()).append(",");
//        }
//        String result = sb.toString();
//        if(!TextUtils.isEmpty(result)){
//            return result.substring(0, result.length()-1);
//        }
//        return "";
//    }
//
//    //纸牌显示35x54
//    public static void setZhiPaiImage(Context mContext, String result, String staticUrl, ImageView[] imageViews){
//        if(TextUtils.isEmpty(result) || !result.contains(",") || TextUtils.isEmpty(staticUrl)){
//            return;
//        }
//        String[] numArr = result.split(",");
//        if(numArr.length > 0 && staticUrl.contains("{n}")){
//            for (int i=0; i<numArr.length; i++){
//                if(i < imageViews.length){
//                    String url = staticUrl.replace("{n}",String.valueOf(numArr[i]));
//                    ImageLoader.getInstance().loadImagePath(mContext, url, 0, imageViews[i]);
//                    imageViews[i].setVisibility(View.VISIBLE);
//                }
//            }
//        }
//    }
//
//    /**
//     * 格式化时间
//     *
//     * @param time 时间：秒（s）为单位
//     * @return
//     */
//    public static String formatDate(Long time) {
//        Date date = new Date(time * 1000);
//        return new SimpleDateFormat("mm:ss").format(date);
//    }
//
//    public static String formatDateHHMMSS(Long time) {
//        Date date = new Date(time);
//        return new SimpleDateFormat("HH:mm:ss").format(date);
//    }
//
//    /**
//     * 格式化时间
//     *
//     * @param time 时间：秒（s）为单位
//     * @return
//     */
//    public static String formatPicDate(Long time) {
//        Date date = new Date(time * 1000);
//        return new SimpleDateFormat("yyyyMMddHHmmss").format(date);
//    }
//
//    /**
//     * @return 返回短时间字符串格式yyyy-MM-dd HH:mm
//     */
//    public static String getStringToDate() {
//        Date currentTime = new Date();
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//    /**
//     * 获取现在时间15分鐘之后的时间
//     * @return 返回短时间字符串格式yyyy-MM-dd HH:mm:ss
//     */
//    public static String getStrTo15MinDate2() {
//        long time = System.currentTimeMillis() + 15*60*1000;
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取现在时间5分鐘之后的时间
//     * @return 返回短时间字符串格式yyyy-MM-dd HH:mm:ss
//     */
//    public static String getStrTo5MinDate3() {
//        long time = System.currentTimeMillis() + 5*60*1000;
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取对应时间的毫秒值
//     * @param str yyyy-MM-dd HH:mm:ss格式字符串
//     * @return 毫秒值
//     */
//    public static long getCurrDate(String str) {
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        try {
//            Date date = formatter.parse(str);
//            return date.getTime();
//        } catch (ParseException e) {
//            e.printStackTrace();
//        }
//        return System.currentTimeMillis();
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式yyyy-MM-dd HH:mm:ss
//     */
//    public static String getStringDate() {
//        Date currentTime = new Date();
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式yyyy-MM-dd HH:mm:ss
//     */
//    public static String getStringDate2() {
//        Date currentTime = new Date();
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//    /**
//     * 获取时间
//     * @return 返回短时间字符串格式yyyy-MM-dd HH:mm
//     */
//    public static String getStringDate2(long time) {
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取时间
//     * @return 返回短时间字符串格式yyyy-MM-dd
//     */
//    public static String getStringDate4(long time) {
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取时间
//     * @return 返回短时间字符串格式yyyy-MM-dd HH:mm
//     */
//    public static String getStringDate3(long time) {
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式MM月dd日
//     */
//    public static String getStringDate(long time) {
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd HH:mm");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式MM月dd日
//     */
//    public static String formatDate(long time, String format) {
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat(format);
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式  HH:mm
//     */
//    public static String getStrHouDate(long time) {
//        Date currentTime = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式 MM月dd日 HH:mm
//     */
//    public static String getStrDateDlay() {
//        Date currentTime = new Date(new Date().getTime()+(15*60*1000));//现在时间在加15分鐘为现在
//        SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式 MM月dd日 HH:mm
//     */
//    public static String getStrDateDlay2() {
//        Date currentTime = new Date(new Date().getTime()+(5*60*1000));//现在时间在加15分鐘为现在
//        SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 获取现在时间
//     * @Param format  格式
//     * @return 返回短时间字符串格式 MM月dd日 HH:mm
//     */
//    public static String getStrDateDlay(String format) {
//        Date currentTime = new Date(new Date().getTime()+(15*60*1000));//现在时间在加15分鐘为现在
//        SimpleDateFormat formatter = new SimpleDateFormat(format);
//        String dateString = formatter.format(currentTime);
//        return dateString;
//    }
//
//    /**
//     * 根据生日获取年龄
//     *
//     * @return 返回年龄
//     */
//    public static int getAge(long birthday) {
//        Date mDate = new Date(birthday);
//        Date currDate = new Date();
//        int cYear = Integer.parseInt(new SimpleDateFormat("yyyy").format(currDate));
//        int dYear = Integer.parseInt(new SimpleDateFormat("yyyy").format(mDate));
//        if(cYear - dYear < 0){
//            return 0;
//        }
//        return cYear - dYear;
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式 MM月dd日 HH:mm 今天显示今天，昨天显示昨天
//     */
//    public static String getStrDate(long time) {
//        String dateString = "";
//        int tMin = 60 * 1000;
//        int tHour = 60 * tMin;
//        int tDay = 24 * tHour;
//        Date currDate = new Date();
//        Date tDate = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy年M月d日 HH:mm");
//        SimpleDateFormat formatter1 = new SimpleDateFormat("HH:mm");
//        long mTime = currDate.getTime() - getZeroMillis();//今天过了多少毫秒
//        long dTime = currDate.getTime() - tDate.getTime();
//        //3分鐘内显示剛剛
//        if (dTime < 3 * tMin) {
//            dateString = "剛剛  " + formatter1.format(tDate);
//        } else if (dTime < mTime) {
//            dateString = formatter1.format(tDate);
//        } else if (dTime < mTime + tDay) {
//            dateString = "昨天  " + formatter1.format(tDate);
//        } else if (dTime < mTime + 2 * tDay) {
//            dateString = "前天  " + formatter1.format(tDate);
//        } else {
//            dateString = formatter.format(tDate);
//        }
//        return dateString;
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式 MM月dd日 HH:mm 今天显示今天，昨天显示昨天
//     */
//    public static String getStrDate2(long time) {
//        String dateString = "";
//        int tMin = 60 * 1000;
//        int tHour = 60 * tMin;
//        int tDay = 24 * tHour;
//        Date currDate = new Date();
//        Date tDate = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("M月d日 HH:mm");
//        SimpleDateFormat formatter1 = new SimpleDateFormat("HH:mm");
//        long mTime = currDate.getTime() - getZeroMillis();//今天过了多少毫秒
//        long dTime = currDate.getTime() - tDate.getTime();
//        //多少分鐘之前
//        if (dTime < tMin) {//1分鐘内
//            dateString =Sheng.getInstance().getString(R.string.ganggang);
//        } else if (dTime < 60 * tMin) {
//            dateString = dTime / tMin + Sheng.getInstance().getString(R.string.fenzhong)+"之前";
//        } else if (dTime < mTime) {
//            dateString = "今天  " + formatter1.format(tDate);
//        } else if (dTime < mTime + tDay) {
//            dateString = "昨天  " + formatter1.format(tDate);
//        } else if (dTime < mTime + 2 * tDay) {
//            dateString = "前天  " + formatter1.format(tDate);
//        } else {
//            dateString = formatter.format(tDate);
//        }
//        return dateString;
//    }
//
//    /**
//     * 获取现在时间
//     *
//     * @return 返回短时间字符串格式 MM月dd日 HH:mm 今天显示今天，昨天显示昨天
//     */
//    public static String getStrDate6(long time) {
//        String dateString = "";
//        int tMin = 60 * 1000;
//        int tHour = 60 * tMin;
//        int tDay = 24 * tHour;
//        Date currDate = new Date();
//        Date tDate = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("M-d HH:mm");
//        SimpleDateFormat formatter1 = new SimpleDateFormat("HH:mm");
//        long mTime = currDate.getTime() - getZeroMillis2();//今天过了多少毫秒
//        long dTime = currDate.getTime() - tDate.getTime();//时间相差的毫秒数
//        //多少分鐘之前
//        if (dTime < mTime) {
//            dateString =  formatter1.format(tDate);
//        }  else {
//            dateString = formatter.format(tDate);
//        }
//        return dateString;
//    }
//
//
//    public static String getStrDate7(long time) {
//        String dateString = "";
//        int tMin = 60 * 1000;
//        int tHour = 60 * tMin;
//        int tDay = 24 * tHour;
//        Date currDate = new Date();
//        Date tDate = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("M-d HH:mm");
//        SimpleDateFormat formatter1 = new SimpleDateFormat("HH:mm");
//        long mTime = currDate.getTime() - getZeroMillis();//今天过了多少毫秒
//        long dTime = currDate.getTime() - tDate.getTime();
//        dateString = formatter.format(tDate);
//        return dateString;
//    }
//
//
//    public static String getStrDate4(long time) {
//        String dateString = "";
//        int tMin = 60 * 1000;
//        int tHour = 60 * tMin;
//        int tDay = 24 * tHour;
//        Date currDate = new Date();
//        Date tDate = new Date(time);
//        SimpleDateFormat formatter = new SimpleDateFormat("M月d日 HH:mm");
//        SimpleDateFormat formatter1 = new SimpleDateFormat("HH:mm");
//        long mTime = currDate.getTime() - getZeroMillis();//今天过了多少毫秒
//        long dTime = currDate.getTime() - tDate.getTime();
//        //多少分鐘之前
//        if (dTime < tMin) {//1分鐘内
//            dateString = "剛剛";
//        } else if (dTime < 30 * tMin) {
//            dateString = dTime / tMin + "分鐘前";
//        } else if (dTime < mTime) {
//            dateString =formatter1.format(tDate);
//        }
//        return dateString;
//    }
//    /**
//     * 在线状态
//     *  time 单位分鐘
//     * @return 返回
//     */
//    public static String getStrDate3(long time) {
//        String dateString = "";
//        if(time < 60){
//            dateString = time + "分鐘前";
//        }else if(time < 24*60){
//            dateString = time/60 + "小时前";
//        }else {
//            dateString = time/(24*60) + "天前";
//        }
//        return dateString;
//    }
//
//    /**
//     *  time 单位毫秒
//     * @return 返回
//     */
//    public static String getStrDate5(long timeMillis) {
//        long currTime = System.currentTimeMillis();
//        long time = currTime - timeMillis;
//        String dateString = "";
//        if(time < 1000 * 60){//1分鐘内
//            dateString = "剛剛";
//        }else if(time < 1000 * 60 * 60){
//            dateString = time/(1000 * 60) + "分鐘前";
//        }else if(time < 1000 * 60 * 24 * 60){
//            dateString = time/(1000 * 60 * 60) + "小时前";
//        }else {
//            dateString = time/(1000 * 60 * 60 * 24) + "天前";
//        }
//        return dateString;
//    }
//
//    /**
//     * 获取当天零点的毫秒值
//     *
//     * @return
//     */
//    public static long getZeroMillis() {
//        Calendar cal = Calendar.getInstance();
//        cal.set(Calendar.HOUR, 0);
//        cal.set(Calendar.SECOND, 0);
//        cal.set(Calendar.MINUTE, 0);
//        cal.set(Calendar.MILLISECOND, 0);
//        //减去8个小时的毫秒值，解决时区问题
//        return cal.getTimeInMillis() - 8 * 60 * 60 * 1000;
//    }
//
//    /**
//     * 获取当天零点的毫秒值
//     *
//     * @return
//     */
//    public static long getZeroMillis2() {
////        Calendar cal = Calendar.getInstance();
////        cal.set(Calendar.HOUR, 0);
////        cal.set(Calendar.SECOND, 0);
////        cal.set(Calendar.MINUTE, 0);
////        cal.set(Calendar.MILLISECOND, 0);
////        //减去8个小时的毫秒值，解决时区问题
////        return cal.getTimeInMillis();
//        //上面方法获取的零点时间 大约是当天中午12点
//
//        Date date = new Date();
//        long day = 24 * 60 * 60 * 1000; //每天的毫秒数
//        //date.getTime()是现在的毫秒数，它 减去 当天零点到现在的毫秒数（ 现在的毫秒数%一天总的毫秒数，取余。），理论上等于零点的毫秒数，不过这个毫秒数是UTC+0时区的。
//        //减8个小时的毫秒值是为了解决时区的问题。
//        return (date.getTime() - (date.getTime() % day) - 8* 60 * 60 *1000);
//    }
//
//    public static String FormatMiss(long miss) {
//        String hh = miss / 3600 > 9 ? miss / 3600 + "" : "0" + miss / 3600;
//        String mm = (miss % 3600) / 60 > 9 ? (miss % 3600) / 60 + "" : "0" + (miss % 3600) / 60;
//        String ss = (miss % 3600) % 60 > 9 ? (miss % 3600) % 60 + "" : "0" + (miss % 3600) % 60;
//        return hh + ":" + mm + ":" + ss;
//    }
//
//    /**
//     * 单位秒
//     * @param miss
//     * @return
//     */
//    public static String formatMinss2(long miss) {
//        String mm = (miss % 3600) / 60 > 9 ? (miss % 3600) / 60 + "" : "0" + (miss % 3600) / 60;
//        String ss = (miss % 3600) % 60 > 9 ? (miss % 3600) % 60 + "" : "0" + (miss % 3600) % 60;
//        return mm + ":" + ss;
//    }
//
//    /**
//     * 获取前一天日期
//     *
//     * @param str yyyy-MM-dd格式字符串
//     * @return
//     */
//    public static String getPreDay(String str) {
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
//        Calendar calendar = Calendar.getInstance();
//        try {
//            calendar.setTime(formatter.parse(str));
//            calendar.add(Calendar.DAY_OF_MONTH, -1);
//            Date date = calendar.getTime();
//            String dateString = formatter.format(date);
//            return dateString;
//        } catch (ParseException e) {
//            e.printStackTrace();
//        }
//        return str;
//    }
//
//    /**
//     * 获取后一天日期
//     *
//     * @param str yyyy-MM-dd格式字符串
//     * @param day 当前时间几天后 day=1表示1天之后的日期
//     * @return
//     */
//    public static String getNextDay(String str, int day) {
//        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
//        Calendar calendar = Calendar.getInstance();
//        try {
//            calendar.setTime(formatter.parse(str));
//            calendar.add(Calendar.DAY_OF_MONTH, day);
//            Date date = calendar.getTime();
//            String dateString = formatter.format(date);
//            return dateString;
//        } catch (ParseException e) {
//            e.printStackTrace();
//        }
//        return str;
//    }
//
//    /**
//     * 获取当前日期是星期几
//     *
//     * @return 当为周日时，返回0，当为周一至周六时，则返回对应的1-6。
//     */
//    public static int getCurrentDayOfWeek() {
//        return Calendar.getInstance().get(Calendar.DAY_OF_WEEK) - 1;
//    }
//
//    /**
//     * 获取指定日期是星期几
//     *
//     * @param pTime 设置的需要判断的时间  //格式如2012-09-08
//     * @return 当为周日时，返回日，当为周一至周六时，则返回对应的一到六。
//     */
//    public static String getOneDayOfWeek(String pTime) {
//        String week = "";
//        int day = -1;
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//        Calendar c = Calendar.getInstance();
//        try {
//            //设置时间，必须是Date类型
//            c.setTime(format.parse(pTime));
//            day = c.get(Calendar.DAY_OF_WEEK);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        switch (day) {
//            case 1:
//                week = "天";
//                break;
//            case 2:
//                week = "一";
//                break;
//            case 3:
//                week = "二";
//                break;
//            case 4:
//                week = "三";
//                break;
//            case 5:
//                week = "四";
//                break;
//            case 6:
//                week = "五";
//                break;
//            case 7:
//                week = "六";
//                break;
//        }
//        return week;
//    }
//
//    /**
//     * 将Map集合转换成json格式字符串
//     *
//     * @param map
//     * @return
//     */
//    public static String paramsToJson(Map<String, String> map) {
//        JSONObject jsonObject = new JSONObject(map);
//        return jsonObject.toString();
//    }
//
//    /**
//     * //判断网络是否连接
//     *
//     * @param context
//     * @return
//     */
//    public static boolean isNetWork(Context context) {
//        ConnectivityManager connectivityManager = (ConnectivityManager) context//网络连接状态管理的对象
//                .getApplicationContext()
//                .getSystemService(Context.CONNECTIVITY_SERVICE);
//        NetworkInfo mActiveNetworkInfo = connectivityManager//得到当前使用的网络对象
//                .getActiveNetworkInfo();
//        //网络连接时可用的
//        return mActiveNetworkInfo != null && mActiveNetworkInfo.isAvailable();
//    }
//
//    /**
//     * 是否是wifi
//     * @param context
//     * @return
//     */
//    public static boolean isWifi(Context context) {
//        ConnectivityManager cm = (ConnectivityManager) context
//                .getSystemService(Context.CONNECTIVITY_SERVICE);
//        NetworkInfo networkINfo = cm.getActiveNetworkInfo();
//        return networkINfo != null
//                && networkINfo.getType() == ConnectivityManager.TYPE_WIFI;
//    }
//
//
//    /**
//     * 读取assets文件夹下文本字符串
//     *
//     * @param context
//     * @param fileName
//     * @return
//     */
//    public static String getAssetsString(Context context, String fileName) {
//        StringBuffer sb = new StringBuffer();
//        try {
//            AssetManager am = context.getAssets();
//            InputStream in = am.open(fileName);
//            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//            String line;
//            while ((line = reader.readLine()) != null) {
//                line += ("\n");
//                sb.append(line);
//            }
//            reader.close();
//            in.close();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return sb.toString();
//    }
//
//    /*
//     * 获得PCM音频数据
//     */
//    public static long getPCMSize(String fileName) {
//        long fileSize;
//        File file = new File(fileName);
//        if (file == null) {
//            return 0;
//        }
//        FileInputStream inStream = null;
//        try {
//            inStream = new FileInputStream(file);
//            if (inStream != null) {
//                fileSize = file.length();//获取文件的长度
//                return fileSize;
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return 0;
//        } finally {
//            try {
//                inStream.close();
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }
//        return 0;
//    }
//
//    public static boolean playAACFileSuccess(Context context) {
//        int support = AppConfig.getIsSupportAACPlay();
//        if (support == AppConfig.SUPPORT_ACC_PLAY) {
//            return true;
//        } else if (support == AppConfig.NONSUPPORT_ACC_PLAY) {
//            return false;
//        }
//
//        MediaPlayer player = new MediaPlayer();
//        InputStream inputStream = context.getResources().openRawResource(R.raw.cn_cloud);
//        File bufferedFile = new File(context.getCacheDir(), "testAAC.dat");
//        BufferedOutputStream writer = null;
//        FileInputStream fis = null;
//        try {
//            writer = new BufferedOutputStream(new FileOutputStream(bufferedFile, false));
//            byte[] buff = new byte[1024];
//            int numChars;
//            while ((numChars = inputStream.read(buff, 0, buff.length)) != -1) {
//                writer.write(buff, 0, numChars);
//            }
//            writer.close();
//            writer = null;
//            inputStream.close();
//            inputStream = null;
//            fis = new FileInputStream(bufferedFile);
//            player.setDataSource(fis.getFD());
//            player.prepare();
//            player.start();
//
//            AppConfig.setIsSupportAACPlay(AppConfig.SUPPORT_ACC_PLAY);
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            Log.i("liuwenchao", "Exception happen!");
//            AppConfig.setIsSupportAACPlay(AppConfig.NONSUPPORT_ACC_PLAY);
//            return false;
//        } finally {
//            try {
//                if (player != null) {
//                    player.stop();
//                    player.release();
//                }
//                if (inputStream != null) {
//                    inputStream.close();
//                }
//                if (writer != null) {
//                    writer.close();
//                }
//                if (fis != null) {
//                    fis.close();
//                }
//                if (bufferedFile.isFile() && bufferedFile.exists()) {
//                    bufferedFile.delete();
//                }
//            } catch (IOException ex) {
//                Log.e("aac", "Error closing files");
//            }
//        }
//    }
//
//    public static void moveLayoutListener(final ViewGroup framet, final int screenWidth, final int screenHeight) {
//        framet.setOnTouchListener(new View.OnTouchListener() {
//            @Override
//            public boolean onTouch(View view, MotionEvent event) {
//                switch (event.getAction() & MotionEvent.ACTION_MASK) {
//                    case MotionEvent.ACTION_DOWN:
//                        lastX = (int) event.getRawX();
//                        lastY = (int) event.getRawY();
//                        break;
//                    case MotionEvent.ACTION_UP:
//                        break;
//                    case MotionEvent.ACTION_MOVE:
//                        int dx = (int) event.getRawX() - lastX;
//                        int dy = (int) event.getRawY() - lastY;
//                        int left = view.getLeft() + dx;
//                        int top = view.getTop() + dy;
//                        int right = view.getRight() + dx;
//                        int bottom = view.getBottom() + dy;
//                        lastX = (int) event.getRawX();
//                        lastY = (int) event.getRawY();
//                        if (left < 0) {
//                            left = 0;
//                            break;
//                        }
//                        if (top < 0) {
//                            top = 0;
//                            break;
//                        }
//                        if (right > screenWidth) {
//                            right = screenWidth;
//                            break;
//                        }
//                        if (bottom > screenHeight) {
//                            bottom = screenHeight;
//                            break;
//                        }
//                        //这个view父布局是 RelativeLayout 根据需要
//                        RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view
//                                .getLayoutParams();
//                        layoutParams.height = framet.getHeight();
//                        layoutParams.width = framet.getWidth();
//                        layoutParams.leftMargin = left;
//                        layoutParams.topMargin = top;
//                        view.setLayoutParams(layoutParams);
//                        break;
//                }
//                framet.invalidate();
//                return true;
//            }
//        });
//    }
//
//    public static void hideSoftInput(Context context,View view) {
//        if(view!=null && view.getWindowToken()!=null) {
//            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
//            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
//        }
//    }
//    public static void showSoftInput(Context context,View view) {
//        if(view!=null) {
//            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
//            imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
//        }
//    }
//
//    //进入房间显示昵称渐变动画
//    public static void animViewTransUp(Context mContext,final View coverLayout) {
//        coverLayout.setVisibility(View.VISIBLE);
//        // 使用AnimationUtils装载动画配置文件
//        Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.alpha_up);
//        animation.setAnimationListener(new Animation.AnimationListener() {
//            @Override
//            public void onAnimationStart(Animation animation) {
//                coverLayout.setVisibility(View.GONE);
//            }
//
//            @Override
//            public void onAnimationEnd(Animation animation) {
//            }
//
//            @Override
//            public void onAnimationRepeat(Animation animation) {
//            }
//        });
//        // 启动动画
//        coverLayout.startAnimation(animation);
//    }
//
//    //向上移动
//    public static void animViewMoveUp(Context mContext,final View coverLayout) {
//        coverLayout.setVisibility(View.VISIBLE);
//        // 使用AnimationUtils装载动画配置文件
//        Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.translate_up);
//        animation.setAnimationListener(new Animation.AnimationListener() {
//            @Override
//            public void onAnimationStart(Animation animation) {
//                coverLayout.setVisibility(View.GONE);
//            }
//
//            @Override
//            public void onAnimationEnd(Animation animation) {
//            }
//
//            @Override
//            public void onAnimationRepeat(Animation animation) {
//            }
//        });
//        // 启动动画
//        coverLayout.startAnimation(animation);
//    }
//
//    //向下移动
//    public static void animViewMoveDown(Context mContext,final View coverLayout) {
//        coverLayout.setVisibility(View.VISIBLE);
//        // 使用AnimationUtils装载动画配置文件
//        Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.translate_down);
//        animation.setAnimationListener(new Animation.AnimationListener() {
//            @Override
//            public void onAnimationStart(Animation animation) {
//            }
//
//            @Override
//            public void onAnimationEnd(Animation animation) {
//            }
//
//            @Override
//            public void onAnimationRepeat(Animation animation) {
//            }
//        });
//        // 启动动画
//        coverLayout.startAnimation(animation);
//    }
//
//
//    //进入房间显示放大 渐变 (麦序数字变化)
//    public static void animViewNumScale(Context mContext,View coverLayout,View numView) {
//        // 使用AnimationUtils装载动画配置文件
////        Animation animView = AnimationUtils.loadAnimation(mContext, R.anim.mic_view_scale);
//        // 启动动画
////        coverLayout.startAnimation(animView);
//
//        Animation animNum = AnimationUtils.loadAnimation(mContext, R.anim.mic_num_scale);
//        // 启动动画
//        numView.startAnimation(animNum);
//    }
//
//
//    /**
//     * 跳转个人主页
//     * @param context
//     * @param ssid
//     */
//    public static void toUserZone(Context context , long ssid){
//        Intent i = new Intent(context, YYSUserZoneActivity.class);
//        i.putExtra(FinalConfing.USER_ZONE_SSID,ssid);
//        context.startActivity(i);
//    }
//
//    /**
//     * 根据uri获取绝对路径
//     * @param context
//     * @param uri
//     * @return
//     */
//    public static String getRealFilePath( final Context context, final Uri uri ) {
//        if ( null == uri ) return null;
//        final String scheme = uri.getScheme();
//        String data = null;
//        if ( scheme == null )
//            data = uri.getPath();
//        else if ( ContentResolver.SCHEME_FILE.equals( scheme ) ) {
//            data = uri.getPath();
//        } else if ( ContentResolver.SCHEME_CONTENT.equals( scheme ) ) {
//            Cursor cursor = context.getContentResolver().query( uri, new String[] { MediaStore.Images.ImageColumns.DATA }, null, null, null );
//            if ( null != cursor ) {
//                if ( cursor.moveToFirst() ) {
//                    int index = cursor.getColumnIndex( MediaStore.Images.ImageColumns.DATA );
//                    if ( index > -1 ) {
//                        data = cursor.getString( index );
//                    }
//                }
//                cursor.close();
//            }
//        }
//        return data;
//    }
//
//    /**
//     * Drawable转Bitmap
//     * @param drawable
//     * @return
//     */
//    public static Bitmap drawableToBitmap(Drawable drawable) {
//        Bitmap bitmap = Bitmap.createBitmap(
//                drawable.getIntrinsicWidth(),
//                drawable.getIntrinsicHeight(),
//                drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
//                        : Bitmap.Config.RGB_565);
//        Canvas canvas = new Canvas(bitmap);
//        //canvas.setBitmap(bitmap);
//        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
//        drawable.draw(canvas);
//        return bitmap;
//    }
//
//    /**
//     * 图片去色,返回灰度图片
//     *
//     * @param bmpOriginal 传入的图片
//     * @return 去色后的图片
//     */
//    public static Bitmap toGrayScale(Bitmap bmpOriginal) {
//        int width, height;
//        height = bmpOriginal.getHeight();
//        width = bmpOriginal.getWidth();
//
//        Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
//        Canvas c = new Canvas(bmpGrayscale);
//        Paint paint = new Paint();
//        ColorMatrix cm = new ColorMatrix();
//        cm.setSaturation(0);
//        ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
//        paint.setColorFilter(f);
//        c.drawBitmap(bmpOriginal, 0, 0, paint);
//        return bmpGrayscale;
//    }
//
//    /**
//     * 获取圆形Bitmap
//     * @param bitmap
//     * @return
//     */
//    public static Bitmap toRoundBitmap(Bitmap bitmap) {
//        int width = bitmap.getWidth();
//        int height = bitmap.getHeight();
//        float roundPx;
//        float left,top,right,bottom,dst_left,dst_top,dst_right,dst_bottom;
//        if (width <= height) {
//            roundPx = width / 2;
//            top = 0;
//            bottom = width;
//            left = 0;
//            right = width;
//            height = width;
//            dst_left = 0;
//            dst_top = 0;
//            dst_right = width;
//            dst_bottom = width;
//        } else {
//            roundPx = height / 2;
//            float clip = (width - height) / 2;
//            left = clip;
//            right = width - clip;
//            top = 0;
//            bottom = height;
//            width = height;
//            dst_left = 0;
//            dst_top = 0;
//            dst_right = height;
//            dst_bottom = height;
//        }
//        Bitmap output = Bitmap.createBitmap(width,
//                height, Bitmap.Config.ARGB_8888);
//        Canvas canvas = new Canvas(output);
//        final int color = 0xff424242;
//        final Paint paint = new Paint();
//        final Rect src = new Rect((int)left, (int)top, (int)right, (int)bottom);
//        final Rect dst = new Rect((int)dst_left, (int)dst_top, (int)dst_right, (int)dst_bottom);
//        final RectF rectF = new RectF(dst);
//        paint.setAntiAlias(true);
//        canvas.drawARGB(0, 0, 0, 0);
//        paint.setColor(color);
//        canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
//        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
//        canvas.drawBitmap(bitmap, src, dst, paint);
//        return output;
//    }
//
//    public static int getVersionCode(Context context) {
//        int version = 0;
//        PackageManager packageManager = context.getPackageManager();
//        try {
//            PackageInfo packageInfo = packageManager.getPackageInfo(
//                    context.getPackageName(), 0);
//            version = packageInfo.versionCode;
//        } catch (PackageManager.NameNotFoundException e) {
//            e.printStackTrace();
//        }
//
//        return version;
//    }
//
//    @SuppressLint("NewApi")
//    public static int praseErrorCode(Response response){
//        try {
//            String result = response.body().source().buffer().clone().readString(StandardCharsets.UTF_8);
//            if(result.contains("content")){
//                JSONObject jsonObj = new JSONObject(result).getJSONObject("content");
//                String code=jsonObj.getString("message");
//                return Integer.parseInt(code);
//            }
//        } catch (Throwable e1) {
//            e1.printStackTrace();
//        }
//        return  500;
//    }
//
//    public static String documentUriToString(Context context,Uri uri) {
//        String path = "";
//        if (ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
//            if (DocumentsContract.isDocumentUri(context, uri)) {
//                if (isExternalStorageDocument(uri)) {
//                    // ExternalStorageProvider
//                    final String docId = DocumentsContract.getDocumentId(uri);
//                    final String[] split = docId.split(":");
//                    final String type = split[0];
//                    if ("primary".equalsIgnoreCase(type)) {
//                        path = Environment.getExternalStorageDirectory() + "/" + split[1];
//                        return path;
//                    }
//                } else if (isDownloadsDocument(uri)) {
//                    // DownloadsProvider
//                    final String id = DocumentsContract.getDocumentId(uri);
//                    final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"),
//                            Long.valueOf(id));
//                    path = getDataColumn(context, contentUri, null, null);
//                    return path;
//                } else if (isMediaDocument(uri)) {
//                    // MediaProvider
//                    final String docId = DocumentsContract.getDocumentId(uri);
//                    final String[] split = docId.split(":");
//                    final String type = split[0];
//                    Uri contentUri = null;
//                    if ("image".equals(type)) {
//                        contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
//                    } else if ("video".equals(type)) {
//                        contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
//                    } else if ("audio".equals(type)) {
//                        contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
//                    }
//                    final String selection = "_id=?";
//                    final String[] selectionArgs = new String[]{split[1]};
//                    path = getDataColumn(context, contentUri, selection, selectionArgs);
//                    return path;
//                }
//            }
//        }
//        return path;
//    }
//
//    private static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
//        Cursor cursor = null;
//        final String column = "_data";
//        final String[] projection = {column};
//        try {
//            cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
//            if (cursor != null && cursor.moveToFirst()) {
//                final int column_index = cursor.getColumnIndexOrThrow(column);
//                return cursor.getString(column_index);
//            }
//        } finally {
//            if (cursor != null)
//                cursor.close();
//        }
//        return null;
//    }
//
//    private static boolean isExternalStorageDocument(Uri uri) {
//        return "com.android.externalstorage.documents".equals(uri.getAuthority());
//    }
//
//    private static boolean isDownloadsDocument(Uri uri) {
//        return "com.android.providers.downloads.documents".equals(uri.getAuthority());
//    }
//
//    private static boolean isMediaDocument(Uri uri) {
//        return "com.android.providers.media.documents".equals(uri.getAuthority());
//    }
//
//    public interface LoginErrorCallback{
//        void onError(int code,String msg);
//    }
//
//    @SuppressLint("NewApi")
//    public static void praseErrorCode(Response response,LoginErrorCallback callback){
//        String code = null;
//        try {
//            String result = response.body().source().buffer().clone().readString(StandardCharsets.UTF_8);
//            if(result.contains("content")){
//                JSONObject jsonObj = new JSONObject(result).getJSONObject("content");
//                code=jsonObj.getString("message");
//                callback.onError(Integer.parseInt(code),null);
//            }
//        } catch (Throwable e1) {
//            Log.i("ligen", "解析失败"+e1.getMessage());
//            callback.onError(500,code);
//            e1.printStackTrace();
//        }
//
//    }
//
//    @SuppressLint("NewApi")
//    public static String praseErrorMessage(Response response){
//        try {
//            String result = response.body().source().buffer().clone().readString(StandardCharsets.UTF_8);
//            if(result.contains("content")){
//                JSONObject jsonObj = new JSONObject(result).getJSONObject("content");
//                String message = jsonObj.getString("message");
//                return message;
//            }
//        } catch (Throwable e1) {
//            e1.printStackTrace();
//        }
//        return "";
//    }
//
//    /**
//     * 当前应用是否处于在启动栈里(已经启动)
//     */
//    public static boolean isForeground(Context context) {
//        if (context != null) {
//            ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
//            List<ActivityManager.RunningAppProcessInfo> processes = activityManager.getRunningAppProcesses();
//            for (ActivityManager.RunningAppProcessInfo processInfo: processes) {
//                if (processInfo.processName.equals(context.getPackageName())) {
//                    if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
//                        return true;
//                    }
//                }
//            }
//        }
//        return false;
//    }
//
//    //检测应用是否在后台运行
//    public static boolean isBackground(Context context) {
//        ActivityManager activityManager = (ActivityManager) context
//                .getSystemService(Context.ACTIVITY_SERVICE);
//        List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager
//                .getRunningAppProcesses();
//        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
//            if (appProcess.processName.equals(context.getPackageName())) {
//                Log.i(context.getPackageName(), "此appimportace ="
//                        + appProcess.importance
//                        + ",context.getClass().getName()="
//                        + context.getClass().getName());
//                if (appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
//                    Log.i(context.getPackageName(), "处于后台"
//                            + appProcess.processName);
//                    return true;
//                } else {
//                    Log.i(context.getPackageName(), "处于前台"
//                            + appProcess.processName);
//                    return false;
//                }
//            }
//        }
//        return false;
//    }
//
//    public static Bitmap resize(Bitmap bitMap,int heit,int wigth){
//        int width = bitMap.getWidth();
//        int height = bitMap.getHeight();
//        // 设置想要的大小
//        int newWidth = wigth;
//        int newHeight = heit;
//        // 计算缩放比例
//        float scaleWidth = ((float) newWidth) / width;
//        float scaleHeight = ((float) newHeight) / height;
//        // 取得想要缩放的matrix参数
//        Matrix matrix = new Matrix();
//        matrix.postScale(scaleWidth, scaleHeight);
//        // 得到新的图片
//        bitMap = Bitmap.createBitmap(bitMap, 0, 0, width, height, matrix, true);
//        return bitMap;
//    }
//
//
//    //解析 @
//    public static List<EmojiPositionItem> paresString(String content) {
//        String regex = "@[^\\s:：《]+([\\s:：《]|$)|#(.+?)#|http://t\\.cn/\\w+|\\[(.*?)\\]";
//        Pattern p = Pattern.compile(regex);
//        Matcher m = p.matcher(content);
//        boolean b = m.find();
//        List<EmojiPositionItem> list = new ArrayList<EmojiPositionItem>();
//        while (b) {
//            int start = m.start();
//            int end = m.end();
//            String str = m.group();
//            list.add(new EmojiPositionItem(start, end, str, content.length()));
//            b = m.find(m.end() - 1);
//        }
//        return list;
//    }
//
//    /**
//     * 获取内部存储剩余空间
//     * @param context
//     * @return
//     */
//    public static long getAvailableInternalMemorySize(Context context) {
//        File file = Environment.getDataDirectory();
//        StatFs statFs = new StatFs(file.getPath());
//        long availableBlocksLong = statFs.getAvailableBlocksLong();
//        long blockSizeLong = statFs.getBlockSize();
//        return availableBlocksLong * blockSizeLong;
//    }
//
//    /**
//     * 内部存储空间是否足够
//     * @param context
//     * @return
//     */
//    public static boolean isAvailableInternalMemory(Context context) {
//        boolean isAvailable = false;
//        long size = getAvailableInternalMemorySize(context);
//        if (FinalConfing.LEAST_SPACE_REQUIRED < size) {
//            isAvailable = true;
//        }
//        return isAvailable;
//    }
//    /**
//     * 向左渐变隐藏，或者向右渐变展开
//     * @param mContext
//     * @param animView
//     */
//    public static void animViewToLeft(Context mContext, final View animView) {
//        animView.setVisibility(View.VISIBLE);
//        Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.anime_scale_left_x);
//        animation.setAnimationListener(new Animation.AnimationListener() {
//            @Override
//            public void onAnimationStart(Animation animation) {
//            }
//
//            @Override
//            public void onAnimationEnd(Animation animation) {
//                animView.setVisibility(View.GONE);
//            }
//
//            @Override
//            public void onAnimationRepeat(Animation animation) {
//            }
//        });
//        animView.startAnimation(animation);
//    }
//
//    /**
//     * 向左渐变隐藏，或者向右渐变展开
//     * @param mContext
//     * @param animView
//     */
//    public static void animViewToRight(Context mContext, final View animView) {
//        animView.setVisibility(View.VISIBLE);
//        Animation animation = AnimationUtils.loadAnimation(mContext, R.anim.anime_scale_right_x);
//        animView.startAnimation(animation);
//    }
//
//    /**
//     *
//     * 将分鐘数转化为几小时前  几天前
//     */
//    public static String getFraiendTime(String minutes){
//        try {
//            int minutesTime = Integer.parseInt(minutes);
//            if (minutesTime<60) {
//                if (minutesTime==0){
//                    return getContext().getString(R.string.ganggang);
//                }
//                return String.format(Locale.CHINA, getContext().getString(R.string.minutesago), minutesTime);
//            }
//            if ((minutesTime<1440)) {
//                return String.format(Locale.CHINA, getContext().getString(R.string.hoursago), minutesTime/60);
//            }
//            return String.format(Locale.CHINA, getContext().getString(R.string.daysago), minutesTime/1440);
//        }catch (Exception e){
//            return "";
//        }
//    }
//    public static String getStringFromDate(Date date){
//        @SuppressLint("SimpleDateFormat")
//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//        return simpleDateFormat.format(date);
//    }
//
//    /**
//     *
//     * 获取今天到某个时间的天数差
//     */
//    public static int getDaysToSomeDate(long date){
//        Date date1 = new Date(date);
//        Calendar instance = Calendar.getInstance();
//        instance.setTime(date1);
//
//        return instance.get(Calendar.DAY_OF_YEAR)-getDayOfYear();
//    }
//
//    /**
//     *
//     * 今天是年的第几天
//     */
//    public static int getDayOfYear(){
//        Calendar instance = Calendar.getInstance();
//        instance.setTime(new Date());
//        return instance.get(Calendar.DAY_OF_YEAR);
//
//    }
//
//    /**
//     *
//     * @param dateLong 系统消息时间
//     * @return 获取系统消息时间
//     */
//    @SuppressLint("SimpleDateFormat")
//    public static String getSystemString(long dateLong){
//        Date date1 = new Date(dateLong);
//        try {
//            Calendar instance = Calendar.getInstance();
//            long curLong = System.currentTimeMillis();
//            instance.setTime(new Date(curLong));
//
//            int curYear = instance.get(Calendar.YEAR);//当前年
//            int curDay = instance.get(Calendar.DAY_OF_YEAR);//当前在年中的天数
//
//            Calendar resCalendar = Calendar.getInstance();
//            resCalendar.setTime(date1);
//            int resYear = resCalendar.get(Calendar.YEAR);//传入的年
//            int resDay = resCalendar.get(Calendar.DAY_OF_YEAR);//传入的在年中的天数
//
//            if (resYear>curYear) {
//                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
//                return simpleDateFormat.format(date1);
//            }
//            int dayDiff = curDay + (curYear - resYear) * 365 - resDay;
//            if (dayDiff==0) {
//                //1天内
//                return getFraiendTime(String.valueOf((curLong - dateLong) / 60000));
//            }
//            if (dayDiff>0&&dayDiff<=7){
//                // 1-7天
//                return String.format(Locale.CHINA , getContext().getString(R.string.daysago) , dayDiff);
//            }
//            //dayDiff<0||dayDiff>7
//            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
//            return simpleDateFormat.format(date1);
//
//        } catch (Exception mE) {
//            mE.printStackTrace();
//            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
//            return  simpleDateFormat.format(date1);
//        }
//    }
//
//    /**
//     *
//     * @param dateLong 系统消息时间
//     * @return 获取系统消息时间
//     */
//    @SuppressLint("SimpleDateFormat")
//    public static String getRadioTime(long dateLong){
//        Date date1 = new Date(dateLong);
//        try {
//            Calendar instance = Calendar.getInstance();
//            long curLong = System.currentTimeMillis();
//            instance.setTime(new Date(curLong));
//
//            int curYear = instance.get(Calendar.YEAR);//当前年
//            int curDay = instance.get(Calendar.DAY_OF_YEAR);//当前在年中的天数
//
//            Calendar resCalendar = Calendar.getInstance();
//            resCalendar.setTime(date1);
//            int resYear = resCalendar.get(Calendar.YEAR);//传入的年
//            int resDay = resCalendar.get(Calendar.DAY_OF_YEAR);//传入的在年中的天数
//
//            if (resYear>curYear) {
//                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm");
//                return simpleDateFormat.format(date1);
//            }
//            int dayDiff = curDay + (curYear - resYear) * 365 - resDay;
//            if (dayDiff==0) {
//                //1天内
//                return getFraiendTime(String.valueOf((curLong - dateLong) / 60000));
//            }
//            if (dayDiff>0&&dayDiff<=31){
//                // 1-31天
//                return String.format(Locale.CHINA , "%d天前" , dayDiff);
//            }
//            //dayDiff<0||dayDiff>7
//            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd");
//            return simpleDateFormat.format(date1);
//
//        } catch (Exception mE) {
//            mE.printStackTrace();
//            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd");
//            return  simpleDateFormat.format(date1);
//        }
//    }
//
//    /**
//     *
//     * @param vipId 返回vip对应的颜色
//     * @return
//     */
//    public static int getTxtColorToVipId(long vipId){
//
//        int txtColor = Color.parseColor("#FFFFFF");
//        Map<Long, VipModelCostomDomain> vipModelDomains = Sheng.getInstance().getmVipInfoMap();
//        if (null == vipModelDomains || 0 == vipModelDomains.size()) {
//            if (vipId > 1 && vipId <= 11) {
//                txtColor = Color.parseColor("#5FD98B");
//            } else if (vipId > 11 && vipId <= 21) {
//                txtColor = Color.parseColor("#629AFF");
//            } else if (vipId > 21 && vipId <= 31) {
//                txtColor = Color.parseColor("#FF7F54");
//            } else if (vipId > 31 && vipId <= 41) {
//                txtColor = Color.parseColor("#FF5F97");
//            } else if (vipId > 41 && vipId <= 51) {
//                txtColor = Color.parseColor("#B24AE5");
//            } else if (vipId > 50) {
//                txtColor = Color.parseColor("#B24AE5");
//            }
//        } else {
//            VipModelCostomDomain vipModelCostomDomain = vipModelDomains.get(vipId);
//            if (null != vipModelCostomDomain) {
//                try {
//                    txtColor = Color.parseColor("#" + vipModelCostomDomain.getColor());
//                } catch (NumberFormatException e) {
//                    txtColor = Color.parseColor("#FFFFFF");
//                }
//                cn.beiyu.utils.Log.i("getTxtColorToVipId() getVipColor success");
//            }
//        }
//        return txtColor;
//
//    }
//
//    @SuppressLint("SimpleDateFormat")
//    public static String getSkillServiceTime(long startTime){
//        Calendar calendar = Calendar.getInstance();
//        Calendar calendarSkill = Calendar.getInstance();
//        Date date = new Date(startTime);
//        calendarSkill.setTime(date);
//
//        int skillYear = calendarSkill.get(Calendar.YEAR);
//        int maxSkillDay = calendarSkill.getMaximum(Calendar.DAY_OF_YEAR);
//        int skillDay = calendarSkill.get(Calendar.DAY_OF_YEAR);
//
//        int year = calendar.get(Calendar.YEAR);
//        int day = calendar.get(Calendar.DAY_OF_YEAR);
//
//        int yearDis = year - skillYear;
//
//        try {
//            if ((yearDis<0)){
//                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//                return format.format(date);
//            }
//            int dayDis = Math.abs(yearDis * maxSkillDay + day - skillDay);
//            SimpleDateFormat format = new SimpleDateFormat("HH:mm");
//            if (dayDis==0){
//                return String.format(Locale.CHINA,"今天 %s",format.format(date));
//            }
//            if (dayDis==1){
//                return String.format(Locale.CHINA,"明天 %s",format.format(date));
//            }
//            if (dayDis==2){
//                return String.format(Locale.CHINA,"后天 %s",format.format(date));
//            }
//        } catch (Exception e) {
//            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//            return format.format(date);
//        }
//        return "";
//    }
//
//    public static void adImageClick(final Context mContext, final BannerDomain mBannerDomain) {
//        int mType = mBannerDomain.getActionType();
//        Intent intent1 = new Intent();
//        switch (mType) {
//            case 0:
//                break;
//            case 101: //H5
//                String url = mBannerDomain.getActionUrl();
////                if (mBannerDomain.getActionUrl2() != null&&mBannerDomain.getActionUrl2().endsWith("loginKey=")) {
////                    url=mBannerDomain.getActionUrl2()+Sheng.getInstance().getCurrentUser().getLoginKey();
////                }
//                if (TextUtils.isEmpty(url)) {
//                    return;
//                }
//                intent1.setClass(mContext, YYSWebViewActivity.class);
//                url = StringUtils.checkH5parameters(url);
//                intent1.putExtra(FinalConfing.WEB_URL_TAG, url);
//                if (url.contains("clockIn")){//打卡
//                    intent1.putExtra(FinalConfing.WEB_SHARE_TAG, -3);
//                }else {
//                    intent1.putExtra(FinalConfing.WEB_SHARE_TAG, 1);
//                    if ("我的游戏".equals(mBannerDomain.getDes())) {
//                        intent1.putExtra(FinalConfing.WEB_SHARE_URL, "https://share.beivoice.cn/share-beiyu/h5Share/Gameshare.html");
//                    }
//                    intent1.putExtra(FinalConfing.WEB_SHARE_IMGURL, mBannerDomain.getImgUrl());
//                }
//                mContext.startActivity(intent1);
//                break;
//            case 102: //个人主页
//                try {
//                    long ssId = Long.parseLong(mBannerDomain.getActionUrl());
//                    Intent intent = new Intent(mContext, YYSUserZoneActivity.class);
//                    intent.putExtra(FinalConfing.USER_ZONE_SSID, ssId);
//                    mContext.startActivity(intent);
//                }catch (NumberFormatException e){
//                    return;
//                }
//                break;
////            case 103: //技能主页
////                try {
////                    long skillId = Long.parseLong(mBannerDomain.getActionUrl());
////                    intent1.setClass(mContext, YYSSkillActivity.class);
////                    intent1.putExtra(YYSSkillActivity.INTENT_KEY_SKILL_ID, skillId + "");
////                    mContext.startActivity(intent1);
////                }catch (NumberFormatException e){
////                    return;
////                }
////                break;
//            case 104: //房间ID
//                try {
//                    long roomId = Long.parseLong(mBannerDomain.getActionUrl());
//                    RoomUtil.enterRoom(mContext,String.valueOf(roomId));
//                }catch (NumberFormatException e){
//                    return;
//                }
//                break;
//            case 106://余额充值
//                intent1.setClass(mContext, YYSMyWalletSecondActivity.class);
//                intent1.putExtra(FinalConfing.TAG_WALLET_TYPE, 0);
//                mContext.startActivity(intent1);
//                break;
//            case 107://钻石购买
//                intent1.setClass(mContext, YYSMyWalletSecondActivity.class);
//                intent1.putExtra(FinalConfing.TAG_WALLET_TYPE, 1);
//                mContext.startActivity(intent1);
//                break;
//            case 108://声鉴
////                intent1 = new Intent(mContext, YYSWebViewActivity.class);
////                intent1.putExtra(FinalConfing.WEB_URL_TAG, String.format(Locale.CHINA, FinalConfing.VOIVE_IDENTIFY,
////                        Sheng.getInstance().getCurrentUser().getSsId(),
////                        Sheng.getInstance().getCurrentUser().getProfilePath()));
////                intent1.putExtra(FinalConfing.WEB_SHARE_TAG,-1);
////                mContext.startActivity(intent1);
//                getLastIdentifyInfo(mContext);
//                break;
//            case 109:
//                //积分签到
//                Sheng.getRoomTempCache().integralLoginTimeComplete(new RoomTempCache.OnIntegralComplete() {
//                    @Override
//                    public void onFinish() {
//                        Intent intent2 = new Intent(mContext, YYSWebViewActivity.class);
//                        //mBannerDomain.getActionUrl()
//                intent2.putExtra(FinalConfing.WEB_URL_TAG, String.format(Locale.CHINA, "%sloginKey=%s&timestamp=%d",
//                        mBannerDomain.getActionUrl(),
//                        Sheng.getInstance().getCurrentUser().getLoginKey(),
//                        (System.currentTimeMillis()-Sheng.getRoomTempCache().getmStartTime()+Sheng.getRoomTempCache().getmOnLineTime())/1000/60));
////                        intent2.putExtra(FinalConfing.WEB_URL_TAG,String.format(Locale.CHINA,"http://192.168.50.227:8088/share-beiyu/beiyuh5share/forPoints.html?loginKey=%s&timestamp=%d",Sheng.getInstance().getCurrentUser().getLoginKey(),
////                                (System.currentTimeMillis()-Sheng.getRoomTempCache().getmStartTime()+Sheng.getRoomTempCache().getmOnLineTime())/1000/60));
//                        intent2.putExtra(FinalConfing.WEB_SHARE_TAG,-3);
//                        mContext.startActivity(intent2);
//                    }
//                });
//                break;
//            case 110:
//                //打卡
//                Intent intentCard = new Intent(mContext, YYSWebViewActivity.class);
//                intentCard.putExtra(FinalConfing.WEB_URL_TAG, String.format(Locale.CHINA, "%s%s",
//                        mBannerDomain.getActionUrl(),
//                        Sheng.getInstance().getCurrentUser().getLoginKey()));
//                intentCard.putExtra(FinalConfing.WEB_SHARE_TAG,-3);
//                mContext.startActivity(intentCard);
//                break;
//            default:
//                showToast(mContext,getContext().getString(R.string.showToast29));
//                break;
//        }
//    }
//    //获取最近一次声音鉴定结果
//    private static void getLastIdentifyInfo(final Context mContext){
//        IVoiceCpImpl.getInstance().getRecentlyUserVoiceInfo(Sheng.getInstance().getCurrentUser().getSsId(), new ICommonListener<SSUserVoiceInfoDomain>() {
//            @Override
//            public void onSuccess(SSUserVoiceInfoDomain o) {
//                if(null != o && null != o.getMasterToneOne()){ //已经鉴定过 进入声鉴卡
//                    Intent intent2 = new Intent(mContext, YYSWebViewActivity.class);
//                    intent2.putExtra(FinalConfing.WEB_URL_TAG, String.format(Locale.CHINA, FinalConfing.VOIVE_IDENTIFY,
//                            Sheng.getInstance().getCurrentUser().getSsId(),
//                            Sheng.getInstance().getCurrentUser().getProfilePath()));
//                    intent2.putExtra(FinalConfing.WEB_SHARE_TAG,-1);
//                    mContext.startActivity(intent2);
//                }else {
//                    Intent intent2 = new Intent(mContext, YYSVoiceIdentifyNewActivity.class);
//                    mContext.startActivity(intent2);
//                }
//            }
//
//            @Override
//            public void onError(Exception e) {
//                Intent intent2 = new Intent(mContext, YYSVoiceIdentifyNewActivity.class);
//                mContext.startActivity(intent2);
//            }
//        });
//    }
//
//    /**
//     * 砸蛋送礼记录 时间转换
//     * @param time
//     * @return
//     */
//    public static String dateLongToStringForSmashEgg(long time) {
//        // 服务器返回时间
//        int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(time));
//        int month = Integer.parseInt(new SimpleDateFormat("MM").format(time));
//        int day = Integer.parseInt(new SimpleDateFormat("dd").format(time));
//        int hour = Integer.parseInt(new SimpleDateFormat("HH").format(time));
//        int minute = Integer.parseInt(new SimpleDateFormat("mm").format(time));
//        // 当前时间
//        long currentTime = System.currentTimeMillis();
//        int yearCurrent = Integer.parseInt(new SimpleDateFormat("yyyy").format(currentTime));
//        int monthCurrent = Integer.parseInt(new SimpleDateFormat("MM").format(currentTime));
//        int dayCurrent = Integer.parseInt(new SimpleDateFormat("dd").format(currentTime));
//        int hourCurrent = Integer.parseInt(new SimpleDateFormat("HH").format(currentTime));
//        int minuteCurrent = Integer.parseInt(new SimpleDateFormat("mm").format(currentTime));
//        //if (year != yearCurrent || month != monthCurrent || day != dayCurrent) {
//        //    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//        //    return format.format(time);
//        //} else if (hourCurrent > hour) {
//        //    int sub = hourCurrent - hour;
//        //    return sub + "小时前";
//        //} else if (minuteCurrent > minute) {
//        //    int subMinute = minuteCurrent - minute;
//        //    return subMinute + "分鐘前";
//        //} else {
//        //    return "剛剛";
//        //}
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//        return format.format(time);
//    }
//
//    /**
//     * @param type 消息类型 88888 红包
//     * @param content 消息内容
//     * @return 消息富文本
//     */
//    public static Spanned systemMsgInSquare(int type,String content){
//        String result = "";
//        switch (type) {
//            case 88888:
//                //房间红包消息
//                int roomEnd = content.indexOf("我在这个房间");
//                String roomTitle = content.substring(0,roomEnd);//厅名
//                int priceStart = content.indexOf("幸运红包");
//                int priceEnd = content.indexOf("貝殼");
//                String price = content.substring(priceStart,priceEnd+9);//价格
//                //String.format("【%s】", roomTitle);
//                 result =String.format( "<font color='#4A90E2'>%s</font><font color='#999999'>%s</font><font color='#333333'>%s</font><u><font color='#FFAF29'>%s</font></u>",
//                   String.format("【%s】", roomTitle),"我在这个房间发出了",price,"试试手气");
//
//                break;
//            case 88889:
//                //大额送礼
//                int nick1End = content.indexOf("对");
//                String nick1 = content.substring(0,nick1End);//昵称1
//                int nick2End = content.indexOf("甜蜜告白送出");
//                String nick2 = content.substring(nick1End+1,nick2End);//昵称2
//                int giftEnd = content.indexOf("价值");
//                String gift = content.substring(nick2End+7,giftEnd-1);//礼物*1
//                int priceE = content.indexOf("快来沾沾喜气");
//                String priceS = content.substring(giftEnd+2,priceE-1);
//
//                result = String.format("<font color='#4A90E2'>%s</font><font color = '#333333'>对</font><font color='#4A90E2'>%s</font><font color='#333333'>甜蜜告白送出</font><font color='#FFAF29'>%s(%s貝殼)</font><font color='#333333'>快来沾沾喜气!</font>",
//                  StringUtils.cutNameParse(nick1,5),StringUtils.cutNameParse(nick2,5),gift,priceS);
//                break;
//            case 88890:
//                //竞拍
//                int nickE = content.indexOf("以竞拍价");
//                String nickF = content.substring(2,nickE);//昵称1
//                int priceEnd1 = content.indexOf("成功拍得");
//
//                int atStart = content.indexOf("(");
//                int atEnd = content.indexOf(")");
//                String nick = content.substring(priceEnd1+4,atStart);//昵称2
//                String atInfo = content.substring(atStart+1,atEnd);
//
//                String price1 = content.substring(nickE+4,priceEnd1);
//                result = String.format("<font color = '#333333'>恭喜</font><font color='#4A90E2'>%s</font><font color = '#333333'>以竞拍价</font><font color ='#FFAF29'>%s</font><font color='#333333'>成功拍得</font><font color='#4A90E2'>%s</font><font color='#FFAF29'>【%s天】</font>"
//                ,nickF,price1,nick,atInfo);
//                break;
//        }
//        return Html.fromHtml(result);
//    }
//
//    /**
//     *
//     * @param content 消息内容
//     * @return 返回昵称
//     */
//    public static String getSysNick(String content){
//        int index = content.indexOf("nickName=");
//        int end = content.indexOf("profilePath=");
//        if (index==-1) {
//            return null;
//        }
//
//        return content.substring(index+9,end);
//    }
//
//
//    public static String getSysProfile(String content){
//        int start = content.indexOf("profilePath=");
//        if (start==-1) {
//            return null;
//        }
//        int end = content.indexOf("vip=");
//        if (end==-1) {
//            return content.substring(start+12);
//        }
//
//        return content.substring(start+12,end);
//    }
//    public static String[] getSysVipUrl(String content){
//        int start = content.indexOf("vipIcoUrl=");
//        if (start==-1) {
//            return null;
//        }
//        String[] arr = new String[2];
//        arr[0] = content.substring(start+10);//路径
//        int vipStart = content.indexOf("vip=");
//        if (vipStart!=-1) {
//            arr[1] = content.substring(vipStart+4, start);
//        }
//        return arr;
//    }
//
//
//
//    public static ChatSquareHongBaoDomain convertToHongBaoDomain(Map<String ,Object> msg,int typeFlag){
//        ChatSquareHongBaoDomain domain = new ChatSquareHongBaoDomain();
//        if (typeFlag== MsgTextDomian.ControlMsgType.RED_ENV_BIG.getValue()) {
//            //大的红包
//            String nickName = (String) msg.get("nickName");
//            int coin = (int) msg.get("coin");
//            int crId = (int) msg.get("crId");
//            String roomTitle = (String) msg.get("roomTitle");
//            Object vip = msg.get("vip");
//            Object vipUrl = msg.get("vipUrl");
//            String profilePath = (String) msg.get("profilePath");
//
//            if (vip!=null) {
//                domain.setVip((int) vip);
//                domain.setVipUrl((String) vipUrl);
//            }
//            domain.setProfilePath(profilePath);
//            domain.setNickName(nickName);
//            domain.setCoin(coin);
//            domain.setCrId(crId);
//            domain.setRoomTitle(roomTitle);
//            domain.setStartTime(System.currentTimeMillis());
//            domain.setType(typeFlag);
//        }else if (typeFlag==MsgTextDomian.ControlMsgType.SALE_NOTIFICATATION.getValue()){
//            //拍卖通知
//            int crId = (int) msg.get("crId");
//            int price = (int) msg.get("price");
//            String nickName = (String) msg.get("nickName");
//            String atName = (String) msg.get("atName");
//            int days = (int) msg.get("days");
//            String profile = (String) msg.get("profilePath");
//            String nick2 = (String) msg.get("nickName2");
//            String profile2 = (String) msg.get("profilePath2");
//
//
//            domain.setStartTime(System.currentTimeMillis());
//            domain.setType(typeFlag);
//            domain.setCrId(crId);
//            domain.setCoin(price);
//            domain.setNickName(nickName);
//            domain.setAtName(atName);
//            domain.setDays(days);
//            domain.setProfilePath(profile);
//            domain.setNickName2(nick2);
//            domain.setProfilePath2(profile2);
//        }
//
//        return domain ;
//    }
//
//    /**
//     * 通过设置全屏，设置状态栏透明
//     * @param activity
//     */
//    public static void fullScreen(Activity activity) {
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//                //5.x开始需要把颜色设置透明，否则导航栏会呈现系统默认的浅灰色
//                Window window = activity.getWindow();
//                View decorView = window.getDecorView();
//                //两个 flag 要结合使用，表示让应用的主体内容占用系统状态栏的空间
//                int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
//                        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
//                decorView.setSystemUiVisibility(option);
//                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
//                window.setStatusBarColor(Color.TRANSPARENT);
//                //导航栏颜色也可以正常设置
////                window.setNavigationBarColor(Color.TRANSPARENT);
//            } else {
//                Window window = activity.getWindow();
//                WindowManager.LayoutParams attributes = window.getAttributes();
//                int flagTranslucentStatus = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
//                int flagTranslucentNavigation = WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION;
//                attributes.flags |= flagTranslucentStatus;
////                attributes.flags |= flagTranslucentNavigation;
//                window.setAttributes(attributes);
//            }
//        }
//    }
//
//    /**
//     * 支持全屏
//     * @return
//     */
//    public static boolean isSupportFullScreen(){
//        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
//    }
//
//    /**
//     * 支持全屏
//     * @return
//     */
//    public static void matchFullScreen(View top){
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//            top.setVisibility(View.VISIBLE);
//            return;
//        }
//        top.setVisibility(View.GONE);
//    }
//
//    //获取发布动态的时间描述
//    public static String pubDesc(Date d, long before, long after) {
//        String desc = "";
//        before = before / 1000;
//        after = after / 1000;
//        long dis = after - before;
//        Calendar cale = Calendar.getInstance();
//        int year = cale.get(Calendar.YEAR);
//        if (dis >= 0 && dis < 60) {
//            desc = "剛剛";
//        } else if (dis >= 60 && dis < 3600) {
//            desc = (dis / 60) + "分鐘前";
//        } else if (dis >= 3600 && dis < 86400) {
//            desc = (dis / 3600) + "小时前";
//        } else if (dis >= 86400 && dis < 604800) {
//            desc = (dis / 86400) + "天前";
//        } else if (dis >= 604800) {
//            desc = year + "年" + (d.getMonth() + 1) + "月" + d.getDate() + "日";
//        }
//        return desc;
//    }
//
//    /**
//     *
//     * @param content 检测是否含有敏感词
//     * @return true 有
//     */
//    public static boolean contentCheck(String content){
//        List<String> badWordLists = Sheng.getInstance().getBadWordLists();
//        for (String badWordList : badWordLists) {
//            if (content.contains(badWordList)) {
//                return true;
//            }
//        }
//
//        return false;
//    }
//
//    /**
//     * 加,
//     */
//    public static String getFlagInArray(@NonNull ArrayList<String> list){
//        StringBuilder stringBuilder = new StringBuilder();
//        if (list.size() > 0) {
//            for (int i = 0; i < list.size(); i++) {
//                if (i == list.size() - 1) {
//                    stringBuilder.append(list.get(i));
//                }else{
//                    stringBuilder.append(list.get(i) + ",");
//                }
//            }
//        }
//        return stringBuilder.toString();
//    }
//
//
//    /**
//     * 防止view点击连触
//     * @param view
//     */
//    public static void viewClickCheck(View view){
//        if(view != null){
//            Context context = view.getContext();
//            if(context instanceof Activity){
//                final Activity activity = (Activity) context;
//                view.setEnabled(false);
//                view.postDelayed(new Runnable() {
//                    @Override
//                    public void run() {
//                        if(!activity.isFinishing() && !activity.isDestroyed()){
//                            view.setEnabled(true);
//                        }
//                    }
//                },200);
//            }
//        }
//    }
//}
//
//
